﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Serialization;

namespace ElectronicCommerce.Framework.ServiceModel.WCF.BindingMessage
{
    /// <remarks/>
    [System.SerializableAttribute()]
    [XmlRoot("binding")]
    public class BasicHttpBindingMsg
    {
        public BasicHttpBindingMsg()
        {
            System.ServiceModel.BasicHttpBinding binding = new System.ServiceModel.BasicHttpBinding();
            this.allowCookiesField = binding.AllowCookies;
            this.bypassProxyOnLocalField = binding.BypassProxyOnLocal;
            this.hostNameComparisonModeField = (BasicHttpBindingHostNameComparisonMode)binding.HostNameComparisonMode;
            this.maxBufferSizeField = binding.MaxBufferSize;
            this.maxBufferPoolSizeField = binding.MaxBufferPoolSize;
            this.maxReceivedMessageSizeField = binding.MaxReceivedMessageSize;
            this.messageEncodingField = (BasicHttpBindingMessageEncoding)binding.MessageEncoding;
            this.transferModeField = (BasicHttpBindingTransferMode)binding.TransferMode;
            this.useDefaultWebProxyField = binding.UseDefaultWebProxy;
        }

        private bool allowCookiesField;

        private bool allowCookiesFieldSpecified;

        private bool bypassProxyOnLocalField;

        private bool bypassProxyOnLocalFieldSpecified;

        private BasicHttpBindingHostNameComparisonMode hostNameComparisonModeField;

        private bool hostNameComparisonModeFieldSpecified;

        private int maxBufferSizeField;

        private bool maxBufferSizeFieldSpecified;

        private long maxBufferPoolSizeField;

        private bool maxBufferPoolSizeFieldSpecified;

        private long maxReceivedMessageSizeField;

        private bool maxReceivedMessageSizeFieldSpecified;

        private BasicHttpBindingMessageEncoding messageEncodingField;

        private bool messageEncodingFieldSpecified;

        private string proxyAddressField;

        private string textEncodingField;

        private BasicHttpBindingTransferMode transferModeField;

        private bool transferModeFieldSpecified;

        private bool useDefaultWebProxyField;

        private bool useDefaultWebProxyFieldSpecified;

        private string nameField;

        private string closeTimeoutField;

        private string openTimeoutField;

        private string receiveTimeoutField;

        private string sendTimeoutField;

        private string lockAttributesField;

        private string lockAllAttributesExceptField;

        private string lockElementsField;

        private string lockAllElementsExceptField;

        private bool lockItemField;

        private bool lockItemFieldSpecified;

        private BasicHttpBindingReaderQuotas readerQuotasField;

        private BasicHttpBindingSecurity securityField;

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("readerQuotas", typeof(BasicHttpBindingReaderQuotas))]
        public BasicHttpBindingReaderQuotas readerQuotas
        {
            get
            {
                return this.readerQuotasField;
            }
            set
            {
                this.readerQuotasField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("security", typeof(BasicHttpBindingSecurity))]
        public BasicHttpBindingSecurity security
        {
            get
            {
                return this.securityField;
            }
            set
            {
                this.securityField = value;
            }
        }


        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool allowCookies
        {
            get
            {
                return this.allowCookiesField;
            }
            set
            {
                this.allowCookiesField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool allowCookiesSpecified
        {
            get
            {
                return this.allowCookiesFieldSpecified;
            }
            set
            {
                this.allowCookiesFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool bypassProxyOnLocal
        {
            get
            {
                return this.bypassProxyOnLocalField;
            }
            set
            {
                this.bypassProxyOnLocalField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool bypassProxyOnLocalSpecified
        {
            get
            {
                return this.bypassProxyOnLocalFieldSpecified;
            }
            set
            {
                this.bypassProxyOnLocalFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public BasicHttpBindingHostNameComparisonMode hostNameComparisonMode
        {
            get
            {
                return this.hostNameComparisonModeField;
            }
            set
            {
                this.hostNameComparisonModeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool hostNameComparisonModeSpecified
        {
            get
            {
                return this.hostNameComparisonModeFieldSpecified;
            }
            set
            {
                this.hostNameComparisonModeFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public int maxBufferSize
        {
            get
            {
                return this.maxBufferSizeField;
            }
            set
            {
                this.maxBufferSizeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool maxBufferSizeSpecified
        {
            get
            {
                return this.maxBufferSizeFieldSpecified;
            }
            set
            {
                this.maxBufferSizeFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public long maxBufferPoolSize
        {
            get
            {
                return this.maxBufferPoolSizeField;
            }
            set
            {
                this.maxBufferPoolSizeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool maxBufferPoolSizeSpecified
        {
            get
            {
                return this.maxBufferPoolSizeFieldSpecified;
            }
            set
            {
                this.maxBufferPoolSizeFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public long maxReceivedMessageSize
        {
            get
            {
                return this.maxReceivedMessageSizeField;
            }
            set
            {
                this.maxReceivedMessageSizeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool maxReceivedMessageSizeSpecified
        {
            get
            {
                return this.maxReceivedMessageSizeFieldSpecified;
            }
            set
            {
                this.maxReceivedMessageSizeFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public BasicHttpBindingMessageEncoding messageEncoding
        {
            get
            {
                return this.messageEncodingField;
            }
            set
            {
                this.messageEncodingField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool messageEncodingSpecified
        {
            get
            {
                return this.messageEncodingFieldSpecified;
            }
            set
            {
                this.messageEncodingFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string proxyAddress
        {
            get
            {
                return this.proxyAddressField;
            }
            set
            {
                this.proxyAddressField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string textEncoding
        {
            get
            {
                return this.textEncodingField;
            }
            set
            {
                this.textEncodingField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public BasicHttpBindingTransferMode transferMode
        {
            get
            {
                return this.transferModeField;
            }
            set
            {
                this.transferModeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool transferModeSpecified
        {
            get
            {
                return this.transferModeFieldSpecified;
            }
            set
            {
                this.transferModeFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool useDefaultWebProxy
        {
            get
            {
                return this.useDefaultWebProxyField;
            }
            set
            {
                this.useDefaultWebProxyField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool useDefaultWebProxySpecified
        {
            get
            {
                return this.useDefaultWebProxyFieldSpecified;
            }
            set
            {
                this.useDefaultWebProxyFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string name
        {
            get
            {
                return this.nameField;
            }
            set
            {
                this.nameField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string closeTimeout
        {
            get
            {
                return this.closeTimeoutField;
            }
            set
            {
                this.closeTimeoutField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string openTimeout
        {
            get
            {
                return this.openTimeoutField;
            }
            set
            {
                this.openTimeoutField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string receiveTimeout
        {
            get
            {
                return this.receiveTimeoutField;
            }
            set
            {
                this.receiveTimeoutField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string sendTimeout
        {
            get
            {
                return this.sendTimeoutField;
            }
            set
            {
                this.sendTimeoutField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string lockAttributes
        {
            get
            {
                return this.lockAttributesField;
            }
            set
            {
                this.lockAttributesField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string lockAllAttributesExcept
        {
            get
            {
                return this.lockAllAttributesExceptField;
            }
            set
            {
                this.lockAllAttributesExceptField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string lockElements
        {
            get
            {
                return this.lockElementsField;
            }
            set
            {
                this.lockElementsField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string lockAllElementsExcept
        {
            get
            {
                return this.lockAllElementsExceptField;
            }
            set
            {
                this.lockAllElementsExceptField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool lockItem
        {
            get
            {
                return this.lockItemField;
            }
            set
            {
                this.lockItemField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool lockItemSpecified
        {
            get
            {
                return this.lockItemFieldSpecified;
            }
            set
            {
                this.lockItemFieldSpecified = value;
            }
        }
    }

    /// <remarks/>
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public partial class BasicHttpBindingReaderQuotas
    {
        public BasicHttpBindingReaderQuotas()
        {
            System.Xml.XmlDictionaryReaderQuotas quotas = new System.Xml.XmlDictionaryReaderQuotas();
            this.maxDepthField = quotas.MaxDepth;
            this.maxStringContentLengthField = quotas.MaxStringContentLength;
            this.maxArrayLengthField = quotas.MaxArrayLength;
            this.maxBytesPerReadField = quotas.MaxBytesPerRead;
            this.maxNameTableCharCountField = quotas.MaxNameTableCharCount;
        }

        private int maxDepthField;

        private bool maxDepthFieldSpecified;

        private int maxStringContentLengthField;

        private bool maxStringContentLengthFieldSpecified;

        private int maxArrayLengthField;

        private bool maxArrayLengthFieldSpecified;

        private int maxBytesPerReadField;

        private bool maxBytesPerReadFieldSpecified;

        private int maxNameTableCharCountField;

        private bool maxNameTableCharCountFieldSpecified;

        private string lockAttributesField;

        private string lockAllAttributesExceptField;

        private string lockElementsField;

        private string lockAllElementsExceptField;

        private bool lockItemField;

        private bool lockItemFieldSpecified;

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public int maxDepth
        {
            get
            {
                return this.maxDepthField;
            }
            set
            {
                this.maxDepthField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool maxDepthSpecified
        {
            get
            {
                return this.maxDepthFieldSpecified;
            }
            set
            {
                this.maxDepthFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public int maxStringContentLength
        {
            get
            {
                return this.maxStringContentLengthField;
            }
            set
            {
                this.maxStringContentLengthField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool maxStringContentLengthSpecified
        {
            get
            {
                return this.maxStringContentLengthFieldSpecified;
            }
            set
            {
                this.maxStringContentLengthFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public int maxArrayLength
        {
            get
            {
                return this.maxArrayLengthField;
            }
            set
            {
                this.maxArrayLengthField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool maxArrayLengthSpecified
        {
            get
            {
                return this.maxArrayLengthFieldSpecified;
            }
            set
            {
                this.maxArrayLengthFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public int maxBytesPerRead
        {
            get
            {
                return this.maxBytesPerReadField;
            }
            set
            {
                this.maxBytesPerReadField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool maxBytesPerReadSpecified
        {
            get
            {
                return this.maxBytesPerReadFieldSpecified;
            }
            set
            {
                this.maxBytesPerReadFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public int maxNameTableCharCount
        {
            get
            {
                return this.maxNameTableCharCountField;
            }
            set
            {
                this.maxNameTableCharCountField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool maxNameTableCharCountSpecified
        {
            get
            {
                return this.maxNameTableCharCountFieldSpecified;
            }
            set
            {
                this.maxNameTableCharCountFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string lockAttributes
        {
            get
            {
                return this.lockAttributesField;
            }
            set
            {
                this.lockAttributesField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string lockAllAttributesExcept
        {
            get
            {
                return this.lockAllAttributesExceptField;
            }
            set
            {
                this.lockAllAttributesExceptField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string lockElements
        {
            get
            {
                return this.lockElementsField;
            }
            set
            {
                this.lockElementsField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string lockAllElementsExcept
        {
            get
            {
                return this.lockAllElementsExceptField;
            }
            set
            {
                this.lockAllElementsExceptField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool lockItem
        {
            get
            {
                return this.lockItemField;
            }
            set
            {
                this.lockItemField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool lockItemSpecified
        {
            get
            {
                return this.lockItemFieldSpecified;
            }
            set
            {
                this.lockItemFieldSpecified = value;
            }
        }
    }

    /// <remarks/>
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public partial class BasicHttpBindingSecurity
    {
        public BasicHttpBindingSecurity()
        {
            System.ServiceModel.BasicHttpSecurity security = new System.ServiceModel.BasicHttpBinding().Security;
            this.modeField = (BasicHttpBindingSecurityMode)security.Mode;
        }

        private BasicHttpBindingSecurityMode modeField;

        private bool modeFieldSpecified;

        private string lockAttributesField;

        private string lockAllAttributesExceptField;

        private string lockElementsField;

        private string lockAllElementsExceptField;

        private bool lockItemField;

        private bool lockItemFieldSpecified;

        private BasicHttpBindingSecurityMessage messageField;

        private BasicHttpBindingSecurityTransport transportField;
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("message", typeof(BasicHttpBindingSecurityMessage))]
        public BasicHttpBindingSecurityMessage message
        {
            get
            {
                return this.messageField;
            }
            set
            {
                this.messageField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("transport", typeof(BasicHttpBindingSecurityTransport))]
        public BasicHttpBindingSecurityTransport transport
        {
            get
            {
                return this.transportField;
            }
            set
            {
                this.transportField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public BasicHttpBindingSecurityMode mode
        {
            get
            {
                return this.modeField;
            }
            set
            {
                this.modeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool modeSpecified
        {
            get
            {
                return this.modeFieldSpecified;
            }
            set
            {
                this.modeFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string lockAttributes
        {
            get
            {
                return this.lockAttributesField;
            }
            set
            {
                this.lockAttributesField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string lockAllAttributesExcept
        {
            get
            {
                return this.lockAllAttributesExceptField;
            }
            set
            {
                this.lockAllAttributesExceptField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string lockElements
        {
            get
            {
                return this.lockElementsField;
            }
            set
            {
                this.lockElementsField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string lockAllElementsExcept
        {
            get
            {
                return this.lockAllElementsExceptField;
            }
            set
            {
                this.lockAllElementsExceptField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool lockItem
        {
            get
            {
                return this.lockItemField;
            }
            set
            {
                this.lockItemField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool lockItemSpecified
        {
            get
            {
                return this.lockItemFieldSpecified;
            }
            set
            {
                this.lockItemFieldSpecified = value;
            }
        }
    }

    /// <remarks/>
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public partial class BasicHttpBindingSecurityMessage
    {
        public BasicHttpBindingSecurityMessage()
        {
            System.ServiceModel.BasicHttpMessageSecurity security = new System.ServiceModel.BasicHttpBinding().Security.Message;
            this.clientCredentialTypeField = (BasicHttpBindingSecurityMessageClientCredentialType)security.ClientCredentialType;
        }

        private BasicHttpBindingSecurityMessageClientCredentialType clientCredentialTypeField;

        private bool clientCredentialTypeFieldSpecified;

        private string algorithmSuiteField;

        private string lockAttributesField;

        private string lockAllAttributesExceptField;

        private string lockElementsField;

        private string lockAllElementsExceptField;

        private bool lockItemField;

        private bool lockItemFieldSpecified;

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public BasicHttpBindingSecurityMessageClientCredentialType clientCredentialType
        {
            get
            {
                return this.clientCredentialTypeField;
            }
            set
            {
                this.clientCredentialTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool clientCredentialTypeSpecified
        {
            get
            {
                return this.clientCredentialTypeFieldSpecified;
            }
            set
            {
                this.clientCredentialTypeFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string algorithmSuite
        {
            get
            {
                return this.algorithmSuiteField;
            }
            set
            {
                this.algorithmSuiteField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string lockAttributes
        {
            get
            {
                return this.lockAttributesField;
            }
            set
            {
                this.lockAttributesField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string lockAllAttributesExcept
        {
            get
            {
                return this.lockAllAttributesExceptField;
            }
            set
            {
                this.lockAllAttributesExceptField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string lockElements
        {
            get
            {
                return this.lockElementsField;
            }
            set
            {
                this.lockElementsField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string lockAllElementsExcept
        {
            get
            {
                return this.lockAllElementsExceptField;
            }
            set
            {
                this.lockAllElementsExceptField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool lockItem
        {
            get
            {
                return this.lockItemField;
            }
            set
            {
                this.lockItemField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool lockItemSpecified
        {
            get
            {
                return this.lockItemFieldSpecified;
            }
            set
            {
                this.lockItemFieldSpecified = value;
            }
        }
    }

    /// <remarks/>
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum BasicHttpBindingSecurityMessageClientCredentialType
    {

        /// <remarks/>
        UserName,

        /// <remarks/>
        Certificate,
    }

    /// <remarks/>
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public partial class BasicHttpBindingSecurityTransport
    {
        public BasicHttpBindingSecurityTransport()
        {
            System.ServiceModel.HttpTransportSecurity transport = new System.ServiceModel.BasicHttpBinding().Security.Transport;

            this.clientCredentialTypeField = (BasicHttpBindingSecurityTransportClientCredentialType)transport.ClientCredentialType;
            this.proxyCredentialTypeField = (BasicHttpBindingSecurityTransportProxyCredentialType)transport.ProxyCredentialType;
        }


        private BasicHttpBindingSecurityTransportClientCredentialType clientCredentialTypeField;

        private bool clientCredentialTypeFieldSpecified;

        private BasicHttpBindingSecurityTransportProxyCredentialType proxyCredentialTypeField;

        private bool proxyCredentialTypeFieldSpecified;

        private string realmField;

        private string lockAttributesField;

        private string lockAllAttributesExceptField;

        private string lockElementsField;

        private string lockAllElementsExceptField;

        private bool lockItemField;

        private bool lockItemFieldSpecified;

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public BasicHttpBindingSecurityTransportClientCredentialType clientCredentialType
        {
            get
            {
                return this.clientCredentialTypeField;
            }
            set
            {
                this.clientCredentialTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool clientCredentialTypeSpecified
        {
            get
            {
                return this.clientCredentialTypeFieldSpecified;
            }
            set
            {
                this.clientCredentialTypeFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public BasicHttpBindingSecurityTransportProxyCredentialType proxyCredentialType
        {
            get
            {
                return this.proxyCredentialTypeField;
            }
            set
            {
                this.proxyCredentialTypeField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool proxyCredentialTypeSpecified
        {
            get
            {
                return this.proxyCredentialTypeFieldSpecified;
            }
            set
            {
                this.proxyCredentialTypeFieldSpecified = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string realm
        {
            get
            {
                return this.realmField;
            }
            set
            {
                this.realmField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string lockAttributes
        {
            get
            {
                return this.lockAttributesField;
            }
            set
            {
                this.lockAttributesField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string lockAllAttributesExcept
        {
            get
            {
                return this.lockAllAttributesExceptField;
            }
            set
            {
                this.lockAllAttributesExceptField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string lockElements
        {
            get
            {
                return this.lockElementsField;
            }
            set
            {
                this.lockElementsField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string lockAllElementsExcept
        {
            get
            {
                return this.lockAllElementsExceptField;
            }
            set
            {
                this.lockAllElementsExceptField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool lockItem
        {
            get
            {
                return this.lockItemField;
            }
            set
            {
                this.lockItemField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool lockItemSpecified
        {
            get
            {
                return this.lockItemFieldSpecified;
            }
            set
            {
                this.lockItemFieldSpecified = value;
            }
        }
    }

    /// <remarks/>
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum BasicHttpBindingSecurityTransportClientCredentialType
    {

        /// <remarks/>
        None,

        /// <remarks/>
        Basic,

        /// <remarks/>
        Digest,

        /// <remarks/>
        Ntlm,

        /// <remarks/>
        Windows,

        /// <remarks/>
        Certificate,
    }

    /// <remarks/>
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum BasicHttpBindingSecurityTransportProxyCredentialType
    {

        /// <remarks/>
        None,

        /// <remarks/>
        Basic,

        /// <remarks/>
        Digest,

        /// <remarks/>
        Ntlm,

        /// <remarks/>
        Windows,
    }

    /// <remarks/>
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum BasicHttpBindingSecurityMode
    {

        /// <remarks/>
        None,

        /// <remarks/>
        Transport,

        /// <remarks/>
        Message,

        /// <remarks/>
        TransportWithMessageCredential,

        /// <remarks/>
        TransportCredentialOnly,
    }

    /// <remarks/>
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum BasicHttpBindingHostNameComparisonMode
    {

        /// <remarks/>
        StrongWildcard,

        /// <remarks/>
        Exact,

        /// <remarks/>
        WeakWildcard,
    }

    /// <remarks/>
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum BasicHttpBindingMessageEncoding
    {

        /// <remarks/>
        Text,

        /// <remarks/>
        Mtom,
    }

    /// <remarks/>
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    public enum BasicHttpBindingTransferMode
    {

        /// <remarks/>
        Buffered,

        /// <remarks/>
        Streamed,

        /// <remarks/>
        StreamedRequest,

        /// <remarks/>
        StreamedResponse,
    }

}
